﻿using AutoTest.Business.Dto.Bjl;
using AutoTest.Business.Dto.Xue;
using AutoTest.Business.Vo.Xue;
using AutoTest.Framework.Exceptions;
using AutoTest.Framework.Pager;

namespace AutoTest.Business.IServices
{
    /// <summary>
    /// 服务
    /// </summary>
    public interface IXueService
    {
        /// <summary>
        /// 同步结果
        /// </summary>
        /// <param name="createDto"></param>
        /// <returns></returns>
        Task SyncXueInfoAsync(BjlCreateDto createDto);

        #region 查询方法

        /// <summary>
        /// 分页查询
        /// </summary>
        /// <param name="searchDto"></param>
        /// <returns></returns>
        Task<PagedList<XueListVo>> GetXuePagedListAsync(XuePageSearchDto searchDto);
        /// <summary>
        /// 列表查询
        /// </summary>
        /// <param name="searchDto"></param>
        /// <returns></returns>
        Task<List<XueListVo>> GetXueListAsync(XueSearchDto searchDto);

        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        Task<List<XueBriefVo>> GetXueBriefListAsync(XueSearchDto searchDto);
        /// <summary>
        /// 查询明细
        /// </summary>
        /// <param name="xueId"></param>
        /// <returns></returns>
        Task<XueVo> GetXueDetail(long xueId);
        #endregion
        /// <summary>
        /// 
        /// </summary>
        /// <param name="xueId"></param>
        /// <returns></returns>
        /// <exception cref="BusinessException"></exception>
        Task DeleteXueAsync(long xueId);
    }
}
